1. Field of the Invention
The present invention relates to the field of data processing. More particularly, the invention relates to controlling the processing of instructions using at least one processing pipeline.
2. Background to the Invention
In a processor, data dependencies may cause a delay in processing instructions. An earlier instruction may generate an operand value which is required for a later instruction to be processed, and so the later instruction cannot be executed until the earlier instruction has been executed. One technique for reducing the delay caused by data dependencies is out-of-order processing, in which the order in which instructions are executed is dynamically varied by the processor. If the next instruction of a program cannot be executed because of a data dependency, another instruction which does not have the data dependency can be executed first, reducing the number of cycles when processing is stalled. This allows the program as a whole to be executed more quickly. However, the processing resources required to support out-of-order processing can be complex and may incur some cost in terms of circuit area and power consumption. For example, the pipeline may be required to track which instructions have been executed and temporarily store the results of already completed instructions while earlier instructions in the original program order are still pending. Therefore, it is desirable to provide a technique for reducing the delay caused by the data dependencies without requiring out-of-order processing.